Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(map): add differential lanelet loading #6241

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

StepTurtle
Copy link

@StepTurtle StepTurtle commented Jan 30, 2024

Description

Dynamically load Lanelet2 maps required for the current driving situation, aiming to avoid time consumption and reduce computational costs in the planning pipeline, while also addressing long-term issues associated with Lanelet2 map projection.

Related links

Proposal Link

Tests performed

You can check the update comment in proposal to see current test results.

short.mp4

To test on your local environment, follow these steps:

  1. Download the example map from the following link: link
  2. Ensure you have the latest changes related to dynamic lanelet loading by incorporating the following PRs:
  1. Make true enable_differential_map_loading argument from src/launch/autoware_launch/autoware_launch/launch/components/tier4_planning_component.launch file:
  2. Make true enable_differential_map_loading argument from src/launch/autoware_launch/autoware_launch/launch/components/tier4_map_component.launch file:
  3. Run planning simulator and add /map/dynamic_vector_map_marker topic to Rviz. After you provide a 2D position, the dynamic should be loaded. (It looks with dark grey color.)
  • ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/dummy_800_4/ vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit

Documentation:

Notes for reviewers

Interface changes

Effects on system behavior

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@github-actions github-actions bot added the component:map Map creation, storage, and loading. (auto-assigned) label Jan 30, 2024
@github-actions github-actions bot added the component:launch Launch files, scripts and initialization tools. (auto-assigned) label Feb 9, 2024
@StepTurtle StepTurtle changed the title feat(map_loader): add differential lanelet loading feat(map): add differential lanelet loading Feb 9, 2024
@github-actions github-actions bot added the component:common Common packages from the autoware-common repository. (auto-assigned) label Feb 12, 2024
@mitsudome-r mitsudome-r marked this pull request as ready for review February 19, 2024 08:30
@mitsudome-r
Copy link
Member

@StepTurtle Thanks for the PR.
Did you have any chance to test with this PR to see if nodes that receives lanelet map work correctly or not? For example, I would like to make sure that there is no rise in latency with planning output when the planner nodes receives a new map tile since they would have to do preprocessing of the map before it can be used for planning.

@ataparlar
Copy link
Contributor

Hi @YamatoAndo

I am working on #7454 right now. I will implement the lanelet2-map-tile-generator code into the autoware_tools as soon as possible.

@StepTurtle
Copy link
Author

@YamatoAndo

Commit which updates map_loader README.md: 8308c18

PR which updates map component from autoware-documentation: autowarefoundation/autoware-documentation#522

@YamatoAndo
Copy link
Contributor

@StepTurtle @ataparlar

Than we start to port the lanelet2-map-tile-generator to autoware_tools repository with @ataparlar .

Thank you so much!

@YamatoAndo
Copy link
Contributor

@StepTurtle

Should we unify the tool name with the point cloud divider, e.g. autoware_lanelet2_divider or do you prefer autoware_lanelet2_tile_generator

I'd like to unify the name, but I'm okay with either option.

@anhnv3991 Hi, we are planning to include the Lanelet2 version of the point cloud divider in autoware_tools. Do you have any thoughts on the name?

map/map_loader/README.md Outdated Show resolved Hide resolved
@anhnv3991
Copy link
Contributor

@YamatoAndo Err, autoware_lanelet2_divider sounds good.

@YamatoAndo
Copy link
Contributor

@StepTurtle Please name it autoware_lanelet2_divider.

@StepTurtle
Copy link
Author

Hey @YamatoAndo kindly ping

Is there anything we are waiting for to merge the PRs? I just saw a conflict that occurred on the planning side, and I think it would be good for us to quickly complete the task.

If we're waiting for the divider tool, I will suggest merging the PRs before completing it, because it looks like we won't have much time to allocate to working on the tool in the next few weeks.

@YamatoAndo YamatoAndo added the tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Sep 27, 2024
@YamatoAndo
Copy link
Contributor

@isamu-takagi As the code owner of component_interface_specs, do you have any points?

@YamatoAndo
Copy link
Contributor

@StepTurtle Hi,
I plan to proceed with the merges sequentially.

  1. Merge autoware_msgs and autoware_lanelet2_extension.
  2. Create release tags for autoware_msgs and autoware_lanelet2_extension.
  3. Reflect the new release tags in autoware.repos and build_depends.repos, etc..
  4. Confirm that this PR's CI passes, and merge it along with autoware_launch.
  5. Confirm that behavior_path_planner's CI passes, and merge it.
  6. Merge autoware-documentation
  7. Port divider tool to autoware_tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:common Common packages from the autoware-common repository. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) tag:deploy-docs Mark for deploy-docs action generation. (used-by-ci) tag:run-build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants